System and method for a made to specification e-commerce quoting and orders processing system on a stand alone or integrated portal

ABSTRACT

An E-commerce system logic of defining product specifications with or without option variable questions by means of a XSD file. The XSD file (or other Document Type Definitions (DTD) files) defines: type of data input, more information links, format ability, edit rules on the answer, and error message words if input errors occur. The option selections will have user definable interrelationship with cross checking between options. Each option element has the ability to invoke a specified “More Information” link with answers integrated back to the questions. Real time Scalable Vector Graphic (SVG) layout can be achieved in the More Information screen. The XSL file is used to define various components such as: math to compute the selling price, shipping cost, sales tax &amp; other fields. The resultant option answers with or without SVG is retained in XML format in a single table within the database. The final checkout order will not occur until the update cart has been successfully completed without any errors. Each option is contained in an element definitions for standalone and for the Portal access additional subset (using &lt;xs:annotation&gt;) within each element of the e-commerce system. The Portal will allow prospects to select a product family. A system defined allowed number of suppliers can be selected to provide quotes via Web Services. The returned quoted price is displayed to the prospect with the ability to select the supplier and award the contract. The prospect continues on to the awarded supplier&#39;s site for completion of credit processing information to complete the commerce transaction. The portal will retain historical information of the transactions.

TECHNICAL FIELD OF THE INVENTION

The present invention concerns sales configuration information management of e-commerce processing and storage of specifications in general with or without options. More specifically, the present invention concerns the sales configuration management implementation to allow dynamically generated questions without the questions being a unique table for each product family that are necessary for quoting the selling price.

The present invention concerns the portal operation between prospect desiring to get price quotes and the vendor e-commerce web site, with the ability to place the order with the desired vendor.

The present invention concerns with integrating real time graphic design within e-commerce.

The present invention concerns unique searching ability of the product specifications to find the applicable product family on the portal.

BACKGROUND AND RELATED ART

In the following, the term “e-commerce” should be broadly interpreted and may include content such as Web pages, text files, multimedia files, object features, link structure, etc.

There are a number of terms requiring definition that are at the core of the existing methodologies. XSD is defined as a library that provides an API for manipulating the components of an XML Schema. This is as described by the W3C XML Schema specifications, as well as an API for manipulating the DOM-accessible representation of XML Schema as a series of XML documents, and for keeping these representations in agreement as schemas are modified.

The Extensible Stylesheet Language Family (XSL) XSL is a family of recommendations for defining XML document transformation and presentation.

The Real time Scalable Vector Graphic (SVG) is the capability to dynamically add graphic components into the database while linking the graphics to specific costing related items.

E-Commerce of Parts to Specification or Stocked in Inventory for E-Commerce

On the Internet, the World Wide Web (referred to as “the Web”) e-commerce sites exist for inventory and made to specification. Most sites today that sell to options have a form where the prospect has to describe what it is that they want by answering the questions in the spaces provided. This general form for a broad based product line leads to many iterations back and forth before the specification can be determined as to what will be the final quoted price.

Problems Raised by Present E-Commerce Solutions

A programmer can write hard code to ask the option questions for each product family in the database but when new product families are added or prices change only the programmer can make the changes.

When parts are stocked in inventory there is no easy retrieval of the specification as to how the product was made.

Known Techniques for Product Specifications in E-Commerce

Some previous e-commerce techniques exist such as the Universal Description, Discovery and Integration (UDDI). However, it only publishes the Web Services Default Language (WSDL) for a company for there product line and does not go down to each product family specification.

Some portals have arrangements with e-commerce web site where they display prices of inventory items but do not address products that are made to specification.

There are numerous patents already granted for e-commerce and electronic shopping carts. For example, Kenny in U.S. Pat. No. 6,381,583, teaches how to make an interactive shopping mall in a virtual representation. This does not however, handle the made to specification problems as presented. In U.S. Pat. No. 6,167,383, Henson teaches how sell computer system with various user selections using an online shopping cart system. However, it does not handle the made to specification problems. This would require knowing how the product was made or special shipping instructions and host of other product specific information.

Therefore, it is desirable to provide an interactive capability to dynamically determine a quoted price without the requirement of multiple query iterations between the buyer and seller for made to specification products.

It is also desirable to have such capability without the need of a computer programmer and to be able to modify and add new products easily.

SUMMARY OF THE INVENTION

The present invention is directed to a process that allows for traversing the industry standard XSD tree to display to the user option questions for input data to the algorithm by:

-   -   (i) each element to be a question supplied to the user,     -   (ii) each element will have allowed input rules,     -   (iii) each element will have optional administrator supplied         error messages when the rules fail,     -   (iv) each element can be checked for other option selection         capability.

The present invention may function on the internet, intranet, or local client server mode.

The present invention has several advantages over the prior art of traversing files to determine applicable programmed questions. One advantage is the relationships that are defined in the XSD file. This includes items such as the minimum and maximum values, inclusion or exclusion, exact or pattern matching.

Another advantage of the present invention is the XSD file being used to determine format of input questions as one of the following: decimal, integer, float, string and drop down values.

Yet another advantage of the present invention is the information for the selection options is internally stored as an XML document in a single database table.

Still another advantage of the present invention is the user-defined computation of interim steps to determine the final selling price, shipping cost, and sales tax.

Still another advantage is the integrated real time graphic design capability to build and integrate graphic components directly into the database.

It is therefore an object of the present invention to provide a method and apparatus that uses XSD file contents to dynamically determine presentation data to the user.

It is another object of the invention to provide a method and apparatus to allow administration of the XSD and XSL files containing the questions, edits and associated math calculations.

It is yet another object of the present invention to provide a method and apparatus to provide a search capability of the entire database containing both static inventory components and made to specification components.

It is yet another object of the present invention to provide a method and apparatus to provide an integrated real time graphic design capability to build and integrate graphic components directly into the database.

The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment of the invention. This is illustrated in the accompanying drawings wherein like reference numbers represent like parts of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level block diagram of the e-commerce logic flow chart in which at least some aspects of the present invention may be used.

FIG. 2 is a high-level block diagram of the e-commerce Portal logic flow chart in which at least some aspects of the present invention may be used.

FIG. 3 is an example of XSD file format that illustrates some operations that may be performed by the present invention.

FIG. 4 is a continuation of FIG. 3 example of XSD file format that illustrates some operations that may be performed by the present invention.

FIG. 5 is a screen example of stand alone e-commerce shopping cart that illustrates some operations that may be performed by the present invention.

FIG. 6 is a screen example of stand alone e-commerce shopping cart with the More Information that illustrates some operations that may be performed by the present invention.

FIG. 7 is a screen example of stand alone e-commerce shopping cart with the Real Time Graphic design More Information that illustrates some operations that may be performed by the present invention.

FIG. 8 is an example of XSL file format that illustrates some operations that may be performed by the present invention.

FIG. 9 is an example of Portal that illustrates some operations that may be performed by the present invention.

FIG. 10 is an example of Portal where the Vendor is selected that illustrates some operations that may be performed by the present invention.

FIG. 11 is an example of XSD maintenance that illustrates some operations that may be performed by the present invention.

DETAILED DESCRIPTION

Referring now to FIG. 1, a prospect looking for product prices begins at 100 with a web browser. The prospect selects the product category from the menu on the left as shown in FIG. 5. The system logic flow at 101 checks to see if a XSD file is present for the product selected and if NO goes to step 115. If the answer to the query in step 101 is yes then proceed to step 102. The system confirms the XSD is present on the server and if so presents to the browser screen per format as defined in step 103 also shown in FIG. 11 field 1101. The prospect answers the questions in step 104. At any type during the process illustrated in step 104 the prospect has the ability to click on the More Info button step 111 and as shown in FIG. 5 to see more words & diagrams about the questions. A unique aspect of this invention is the costing of the made to specs product along with the Real Time Scalable Vector Graphic (SVG) design of images in step 110. If it is not SVG then they proceed to step 105. If it is SVG then in step 109 the prospect designs the new graphic and then in step 108 additional processing is done. Subsequently, a Portal History is recorded in step 112.

Once the prospect has completed all of the questions in step 104 they can select Update the Cart in step 105. The system checks for any errors in step 106 and if any errors are found, displays an error message and sends the logic flow back to step 102. Normal processing without any errors allows the user to select step 107 if no more products are to be placed on this order.

The system supports Portal input of Request For Quote at 113 from web services. The processing here is input of a XML file that has already passed edits therefore pricing is done and checking to see if the selected options are available from this vendor. The results are sent back to the portal in 114.

The logic at 108 then writes the option answers and the Name in FIG. 11 1102 to the single table for later retrieval. If the request come from a portal in 113 then in 112 history of the transaction is written.

The logic after step 108 is to process the prices into an order/quote as in step 115. Back in steps 101/102 the XSD can be present and no options questions are allowed in step 102 for a made to inventory product therefore the logic goes directly to step 115. A product may not have the XSD yet defined so the logic flow from step 101 goes directly to step 115.

Referring now to FIG. 2 in which is a prospect looking for prices from different vendors on a product is the starting point at step 200 with a web browser. Logic within step 200 checks to see if this prospect has requested this product within the last X days and only proceeds if true. This is to prevent abuse to portal to get an unreasonable number of quotes. The prospect selects the vendors (up to an allowed number) that they want the RFQ sent to in step 201 also as shown in FIG. 9 (note the step 201 selection could be before step 206). The system logic flow at step 202 checks to see if a XSD file is present for the product selected and if NO goes to step 206. If yes then proceed to step 203. The system confirms the XSD is present on the server and if so presents to the browser screen per format as defined in step 204. The prospect answers the questions in step 205. The system logic in step 206 sends the RFQ to ones selected in step 201 with web services which is step 113 in FIG. 1. Upon receipt back from the Web Services in step 207 the prices is shown from the vendors. The prospect selects the vendor they want to award the order to in step 208. The system portal updates its history in step 210. The user continues on to the vendor site in step 209 to complete the credit card processing if applicable.

The foregoing disclosure and the content of the drawings are merely illustrative of the principals of this invention and are not to be interpreted in a limiting sense. 

1. E-commerce system specifications for defining product specifications with or without option variable questions via a XSD file. The XSD file (or other DTD files) defined as following: 1.a) Title of data input for each of the XSD elements see FIG. 3 line 11 <title>1. Width Inches . . . or $77.50 apply </title>(1) 1.b) More information links see FIG. 3 line 16 <helpURL>./MoreInfo/M2specsXML339950-2201-001.html#width</helpURL>(1) 1.c) The width of the screen for 1b) See FIG. 3 Line 17 <helpwidth>700</helpwidth>(1) 1.d) The height of the screen for 1b) See FIG. 3 Line 18 <helpheight>350</helpheight>(1) 1.e) The title of the screen for 1b) See FIG. 3 Line 19 <helptitle>More Info For
 1. Width Window Inches </helptitle> 1.f) Format ability of Displaying the prompt Question, input, & more information link on the following conditions See FIG. 3 line 20 <prompt>NewLine</prompt>(1):
 1. All on the same line is default.
 2. Multiple elements on the same line=<prompt>SameLine</prompt>(1)
 3. The prompt is on one line and input/more information link on the next line=<prompt>NewLine</prompt>(1)
 4. The ability for a system parameter to specify percentages of the line each component will occupy for 1.a) & 1.b) <!- - The “40:60/40:50:10” notation means ‘if there is no more info, make a 40% prompt and 60% option; if there *is* a more info link, make a 40% prompt, then 50% option, then 10% more info’. Similarly for the same line case, where there are four/five numbers instead of two/three, because there are two prompt/options on a line, and for the NewLine case, when there is no width for the prompt string, just for the option (and possibly the more info link) - - > <add key=“PSC_ColSpan_Normal” value=“50:50/40:50:10”/> <add key=“PSC_ColSpan_SameLine” value=“25:25:25:25/20:25:20:25:10”/> <add key=“PSC_ColSpan_NewLine” value=“100/90:10”/> 1.g) Type of data input errors occur see FIG. 3 Line 37 <xs:restriction base=“xs:integer”>(1) Other types are string, decimal, & any allowed type in XSD 1.h) Edit rules allowed on the answer:
 1. Low=see FIG. 4 Line 38 <xs:minInclusive value=“6”/>(1)
 2. Max=see FIG. 4 Line 43 <xs:maxInclusive value=“6”/>(1)
 3. High=<xs:maxLength value=“25”/>(1)
 4. Patern=<xs:pattern value=“[0-9]+(\.[0-9]+)?”/>(1)
 5. Any allowed type in XSD 1.i) Error message words if input errors occur see FIG. 3 Line 15 <errormessage>1. Width Must be Minimum 6, no Max. </errormessage>(1) 1.j) Parameter to indicate if the price of an options drop down is displayed see FIG. 4 Line 49 <display-price>True</display-price>(1)
 2. The method of claim 1 wherein that by repeating the elements to achieve unlimited elements option specifications product option questions.
 3. The method of claim 1 wherein that option selections will have user definable cross checking between options selections. The option selections will have user definable cross checking between options selections. See FIG. 3 Line 12-14 <relations> <exact element=“CouponID” value=“psc#1” errormessage=“12. Your coupon ID is not valid”/> </relations> Type: Six 6 allow types minInclusive—a low boundary limit which may be reached The minInclusive element is used to specify a minimum valid value for another element of the XML document. This applies to both numeric values and enumerations; in the latter case, the acceptable range is the specified value and all following it in the definition of the enumeration. minExclusive—a low boundary limit which may not be reached The minExclusive element is used to specify a minimum value for another element of the XML document, but the value specified is NOT acceptable. This applies to both numeric values and enumerations; in the latter case, the acceptable range consists of all values following the specified one in the definition of the enumeration maxInclusive—a high boundary limit which may be reached The maxInclusive element is used to specify a maximum valid value for another element of the XML document. This applies to both numeric values and enumerations; in the latter case, the acceptable range is the specified value and all preceding it in the definition of the enumeration. maxExclusive—a high boundary limit which may not be reached The maxExclusive element is used to specify a maximum value for another element of the XML document, but the value specified is NOT acceptable. This applies to both numeric values and enumerations; in the latter case, the acceptable range consists of all values preceding the specified one in the definition of the enumeration. exact—an exact value The exact element is used to specify an exact value for another element of the XML document. This applies to all non-composite XSD types: numeric types, strings, and enumerations. pattern—a regular expression pattern match The pattern element is used to specify a regular expression pattern that another element of the XML document should match. This applies to all XSD types derived from the string type.
 4. E-commerce system specifications for defining product specifications Via XSL file the ability to define; math to compute fields back into the e-commerce product— 4.a) Selling price see FIG. 8 Line 23, 30 thru line 32 <price><xsl:value-of select=“$FinalPriceMin”/></price>(2) 4.b) Shipping cost see FIG. 8 Line 28, 33 thru line 35 <freight type=“Shipping is Selected mode in $persqft”></freight>(2) <xsl:value-of select=“$FinalShipMin”/></freight> 4.c) Sales tax see FIG. 8 Line 36 thru 38 <xsl:value-of select=“($SalesTax_price div 100) * $FinalPriceMin * $productqty”/></tax>(2) 4.d) Other fields FIG. 8 Line 22 <xsl:variable name=“productDiscount” select=“$baseprice−($baseprice * $productqtyDiscount)”/>(2)
 5. File upload: The input allows for the location of a local computer file to be uploaded to the server to a designated location. Upload URL: Location on the web server directory or ftp or to your printer if your printer supports ftp. Example c:/webhost4life aspnet/sriflcom/www_devstore/InputProductImages/ or ftp ftp://PSCFTPData:LogOnID@ftp.srifl.com/DataPath/ Upload tamp URL: The temp directory is specified as to where the file is placed until final check then it is put in the next location. Example c:/webhost4life aspnet/sriflcom/www_devstore/InputProductImages/temp
 6. Indication of an element being a SVG type see FIG. 3 Line 28 <isSVGFile>true</isSVGFile>(1). In FIG. 7 is an example of what can be achieved. The novel aspect in this invention is the integrated pricing ability, real time design ability, and saving the results in a single database table.
 7. Order final checkout will NOT occur until update cart has been successfully completed without any errors for processing integrity.
 8. Each option is contained in an element definitions for standalone and for the Portal access additional subset <xs:annotation> within each element of the e-commerce system. The Portal will allow prospects to select by the subset options without forcing in house namespace labels as shown in FIG. 11 field
 1103. 9. A system defined allowed number of suppliers can be selected to provide quotes via Web Services.
 10. The returned quoted price is displayed to the prospect with the ability to select the supplier and award the contract.
 11. The prospect continues on to the awarded supplier's e-commerce site for completion of credit processing information to consummate the commerce transaction.
 12. The portal will retain history information of the transactions. (1) The XSD file name indicated is a given implementation of just one example and any other applicable file name can be used in other implementation such as DTD. (2) The XSL style sheet indicated is a given implementation of just one example and any other applicable file name can be used in other implementation. 